
package Modelo;

import java.io.Serializable;
import java.awt.*;


public abstract class Figuras implements Serializable {


	public Integer id, x,y,alto,ancho,vida,xAnterior,yAnterior;
	public boolean estado;
	Color color;


public Figuras(){}

protected Figuras(Integer id0, Integer x0,Integer y0,Integer w0,Integer h0,Color c,Integer life, Boolean status){
		 id=id0;
                 x=x0;
		 y=y0;
		 alto=h0;
		 ancho=w0;
		 color=c;
		 vida=life;
		 estado=status; //si se dibuja o no
		 xAnterior=x;
		 yAnterior=y;

	    }

public abstract void dibujar(Graphics g);

//TODO:definir todas las posibles colisiones
public abstract void colision(Figuras figura);
public abstract void colision(Autito movil);
public abstract void colision(Pared pared);
public abstract void colision(Policia policia);
public abstract void colision(Base base);
public abstract void colision(Destino destino);
public abstract void colision(Semaforo semaforo);



public Rectangle rect(){

    Rectangle r=new Rectangle(x,y,ancho,alto);
    return r;
}

public String getID(){
    /* devuelve clase e identificador de la figura */
    return this.getClass().getName() + ' ' + this.id.toString();
}




}

